Skip to content

docs: add TROUBLESHOOTING.md with 14 common issues - #832

Open
skaichima wants to merge 2 commits into
ritik4ever:mainfrom
skaichima:docs/troubleshooting-guide
Open

docs: add TROUBLESHOOTING.md with 14 common issues#832
skaichima wants to merge 2 commits into
ritik4ever:mainfrom
skaichima:docs/troubleshooting-guide

Conversation

@skaichima

@skaichima skaichima commented Jul 29, 2026

Copy link
Copy Markdown

Cover SOROBAN_DISABLED mode confusion, CONTRACT_ID format errors, indexer startup failures, SQLite lock errors, and Freighter detection. Link from README.md and CONTRIBUTING.md.

What changed

  • Created docs/TROUBLESHOOTING.md covering 14 issues across 5 sections (SOROBAN_DISABLED mode, CONTRACT_ID format, indexer startup, SQLite locks, Freighter detection)
  • Updated README.md line 11 to reference the new file
  • Updated CONTRIBUTING.md line 5 to reference the new file

Testing done

  • Backend and frontend test suites were not run (no code was changed)
  • Verified all three files staged and committed correctly with git diff

Related issues

Closes #809

Checklist

  • I kept the change focused on the related issue.
  • I added or updated tests where useful.
  • I updated documentation where behavior changed.
  • I verified the app still builds or explained why verification was skipped.

Summary by CodeRabbit

  • Documentation
    • Added a comprehensive troubleshooting guide with navigation and solutions for startup configuration, contract ID errors, frontend claim failures, indexer issues, database locking, and wallet connectivity.
    • Updated the README with links to the FAQ and troubleshooting resources.
    • Updated contributor onboarding guidance to include the new troubleshooting guide and help resolve common setup issues.

Cover SOROBAN_DISABLED mode confusion, CONTRACT_ID format errors,
indexer startup failures, SQLite lock errors, and Freighter detection.
Link from README.md and CONTRIBUTING.md.
@vercel

vercel Bot commented Jul 29, 2026

Copy link
Copy Markdown

@skaichima is attempting to deploy a commit to the ritik4ever's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Jul 29, 2026

Copy link
Copy Markdown

@skaichima Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@coderabbitai

coderabbitai Bot commented Jul 29, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 46af5e80-4c72-4506-9306-35ed16ba5651

📥 Commits

Reviewing files that changed from the base of the PR and between 0a57f1e and c36e528.

📒 Files selected for processing (2)
  • CONTRIBUTING.md
  • README.md

📝 Walkthrough

Walkthrough

Adds a 305-line troubleshooting guide covering common StellarStream setup and runtime issues, then links it from README.md and CONTRIBUTING.md.

Changes

Troubleshooting documentation

Layer / File(s) Summary
Troubleshooting guide content
docs/TROUBLESHOOTING.md
Adds anchored navigation and troubleshooting instructions for Soroban configuration, contract identifiers, indexer startup, SQLite locking, and Freighter wallet issues.
Documentation entry points
CONTRIBUTING.md, README.md
Adds links to the troubleshooting guide alongside the existing FAQ reference.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the primary change: adding TROUBLESHOOTING.md with 14 common issues.
Linked Issues check ✅ Passed The PR adds the guide, covers all five required problem areas, documents 14 issues, and links the guide from README.md and CONTRIBUTING.md.
Out of Scope Changes check ✅ Passed All changes support issue #809 by adding troubleshooting documentation and linking it from contributor-facing documentation.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Nitpick comments (1)
docs/TROUBLESHOOTING.md (1)

23-23: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Add language identifiers to fenced code blocks.

markdownlint reports MD040 for these fences. Mark log output as text, shell commands as bash, and configuration snippets as ini so the guide passes documentation linting and renders consistently.

Also applies to: 43-43, 61-61, 77-77, 110-110, 134-134, 156-156, 177-177, 206-206, 299-299

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/TROUBLESHOOTING.md` at line 23, Update every fenced code block in
TROUBLESHOOTING.md, including the listed locations, with an appropriate language
identifier: use text for log output, bash for shell commands, and ini for
configuration snippets. Ensure no unlabeled fences remain so markdownlint MD040
passes.

Source: Linters/SAST tools

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/TROUBLESHOOTING.md`:
- Around line 78-79: Update both CONTRACT_ID validation error examples in
TROUBLESHOOTING.md to use the exact emitted STELLAR_CONTRACT_ID messages
asserted by validateEnv.test.ts, including the character-length message, or
explicitly document CONTRACT_ID as an alias while preserving the exact log text.
- Around line 234-240: Update the process-check block in TROUBLESHOOTING.md to
use an Ubuntu/POSIX-compatible command for listing node processes, or explicitly
label the existing Get-Process example as PowerShell and add a separate Linux
command. Ensure the instructions still cover identifying multiple backend
instances and stale processes.
- Around line 142-144: Update the frontend environment setup command in the
troubleshooting documentation so it does not append the literal placeholder as
the contract ID. Use a shell expression that reads the backend CONTRACT_ID
value, or clearly require the developer to replace the placeholder before
execution.

---

Nitpick comments:
In `@docs/TROUBLESHOOTING.md`:
- Line 23: Update every fenced code block in TROUBLESHOOTING.md, including the
listed locations, with an appropriate language identifier: use text for log
output, bash for shell commands, and ini for configuration snippets. Ensure no
unlabeled fences remain so markdownlint MD040 passes.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: e543d145-1722-4fcf-8910-8fab6eea89fd

📥 Commits

Reviewing files that changed from the base of the PR and between b3d32c1 and 0a57f1e.

📒 Files selected for processing (3)
  • CONTRIBUTING.md
  • README.md
  • docs/TROUBLESHOOTING.md

Comment thread docs/TROUBLESHOOTING.md
Comment on lines +78 to +79
CONTRACT_ID validation failed
CONTRACT_ID validation issue: must be exactly 56 characters

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Match the documented validation errors to the actual messages.

The supplied tests in backend/src/config/validateEnv.test.ts (Lines 23-71) assert messages containing STELLAR_CONTRACT_ID validation failed, while this guide shows CONTRACT_ID validation failed. Users searching the logs will miss the documented fix path; update both examples to the exact emitted messages or explicitly document the alias.

Also applies to: 111-112

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/TROUBLESHOOTING.md` around lines 78 - 79, Update both CONTRACT_ID
validation error examples in TROUBLESHOOTING.md to use the exact emitted
STELLAR_CONTRACT_ID messages asserted by validateEnv.test.ts, including the
character-length message, or explicitly document CONTRACT_ID as an alias while
preserving the exact log text.

Comment thread docs/TROUBLESHOOTING.md
Comment on lines +142 to +144
```bash
echo "VITE_CONTRACT_ID=<same value as backend CONTRACT_ID>" >> frontend/.env
```

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Make the frontend environment command executable as written.

Copying this command verbatim appends the literal value <same value as backend CONTRACT_ID> to frontend/.env, which is not a valid contract ID. Use a shell expression that reads the backend value, or clearly mark the placeholder as something the developer must replace.

Proposed fix
-echo "VITE_CONTRACT_ID=<same value as backend CONTRACT_ID>" >> frontend/.env
+echo "VITE_CONTRACT_ID=$(grep '^CONTRACT_ID=' backend/.env | cut -d= -f2-)" >> frontend/.env
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
```bash
echo "VITE_CONTRACT_ID=<same value as backend CONTRACT_ID>" >> frontend/.env
```
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/TROUBLESHOOTING.md` around lines 142 - 144, Update the frontend
environment setup command in the troubleshooting documentation so it does not
append the literal placeholder as the contract ID. Use a shell expression that
reads the backend CONTRACT_ID value, or clearly require the developer to replace
the placeholder before execution.

Comment thread docs/TROUBLESHOOTING.md
Comment on lines +234 to +240
```bash
# Check for multiple backend processes
Get-Process -Name node -ErrorAction SilentlyContinue | Select-Object Id, StartTime

# Ensure only one instance is running
# Kill stale processes if needed
```

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Use an Ubuntu-compatible process check.

The PR objective calls out clean Ubuntu 22.04, but Get-Process is a PowerShell/Windows command and is unavailable in a default Ubuntu shell. Provide a POSIX equivalent or label this block as PowerShell and add a Linux command.

Proposed fix
-Get-Process -Name node -ErrorAction SilentlyContinue | Select-Object Id, StartTime
+pgrep -af node
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
```bash
# Check for multiple backend processes
Get-Process -Name node -ErrorAction SilentlyContinue | Select-Object Id, StartTime
# Ensure only one instance is running
# Kill stale processes if needed
```
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/TROUBLESHOOTING.md` around lines 234 - 240, Update the process-check
block in TROUBLESHOOTING.md to use an Ubuntu/POSIX-compatible command for
listing node processes, or explicitly label the existing Get-Process example as
PowerShell and add a separate Linux command. Ensure the instructions still cover
identifying multiple backend instances and stale processes.

@ritik4ever

Copy link
Copy Markdown
Owner

Hi @skaichima,

This PR could not be merged because it has merge conflicts with the target branch.

Please resolve the merge conflicts, push the updated changes, and the PR can be reviewed and merged.

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] Add troubleshooting guide for common setup issues

2 participants